函数上下文
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
在 Java 或者 C/C++等语言中,方法(函数)只能依附于对象而存在,不是独立的。而在 JavaScript 中,函数也是一种对象,并非其他任何对象的一部分,理解这一点尤为重要,特别是对理解函数式的 JavaScript 非常有用,在函数式编程语言中,函数被认为是一等的。
函数的上下文是可以变化的,因此,函数内的 this 也是可以变化的,函数可以作为一个对象的方法,也可以同时作为另一个对象的方法,总之,函数本身是独立的。可以通过 Function 对象上的 call 或者 apply 函数来修改函数的上下文:
在线练习
{$ activeFileHint $}